Redundant storage arrays (Redundant Arrays of Independent/Inexpensive Devices, or RAID) are now commonly used to provide increased data integrity, ensuring that even if data on one of the devices in the array becomes corrupted or the device fails, the data can be recovered or reconstructed. Details of the various RAID levels are well known and will not be described here. However, the present invention is particularly applicable to RAID level 4 and a brief overview of this level will be provided.
RAID-4 relies upon block-interleaved parity for data integrity. FIG. 1A illustrates a single, logical volume of data having twenty contiguous data units or "blocks" of definite and constant size, including, but not limited to, sectors. In FIG. 1B, an array of six storage devices (such as disk drives), devices 1-6, is represented, each device having recording media onto which the logical volume is mapped and recorded. When blocks of data are recorded, a first block B.sub.1 is recorded on the first device at a first address, a second block B.sub.2 is recorded on the second device at the same address, and the third, fourth and fifth blocks B.sub.3, B.sub.4 and B.sub.5 are recorded on the third, fourth and fifth devices, respectively, at the same address. This is in contrast with RAID-2 and -3 in which each data block is "striped" across several devices. Parity in RAID-4 is calculated bit-by-bit for the five data blocks (such as with an exclusive-OR algorithm) and recorded as a block P.sub.1 on the sixth device at the first address. The blocks B.sub.1 -B.sub.5 and P.sub.1 are collectively known as the first parity group. Subsequent data and parity blocks are recorded in a like manner as parity groups 2-4 at corresponding second, third and fourth addresses on the devices.
If a data block B.sub.i has been corrupted, or if an entire device is faulty, the data can be reconstructed bit-by-bit from the remaining N-1 data blocks in combination with the associated parity block by reversing the parity calculation process.
It is evident that all of the devices in a parity group should be accessible together. Consequently, the use of removable media (such as magnetic disks or tape or optical disks) in the RAID devices presents a significant management burden. Moreover, there may be instances in which it is desirable to remove one of the pieces of media from a device, take the media to a different location (such as to a separate workstation) and modify one or more blocks of data on the media. While the media is away from the rest of the parity group, the host can, if necessary, continue to access the data on the missing media through a RAID controller which reconstructs the missing data from the remaining media and the associated parity. However, in prior art RAID systems, when the removed media is returned to the RAID array, all of the media forming the parity group must be loaded into respective devices, all of the data thereon read and the parity blocks recalculated and re-recorded.